perm filename LISP.LOG[LSP,LSP] blob sn#337905 filedate 1978-03-01 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	29Jan78	WD
C00010 ENDMK
CāŠ—;
29Jan78	WD
	Debugged COMPLR.CMD to account for change from K to
	pages.  COMPLR recompiled and deposited on [1,3]
	to replace an expermimental compiler accidentally
	put there on 31Mar76 by BG.

31Jan78	WD
	Minor changes to the definitions of DE, DF, and DM in LISP.LSP.
	These functions now accept the form:

		(DE (FOO X Y) (CONS X Y))

	as well as the standard form:

		(DE FOO (X Y) (CONS X Y)).

	In either form an additional (final) argument can be added:

		(DE FOO (X Y) (CONS X Y) BAR)

	forcing the definition of a BAR property rather
	than the default (in this case EXPR) property.

		In addition a variable called %FTYPES, currently
	equal to: (EXPR, FEXPR, SUBR, FSUBR, LSUBR, MACRO) was
	added for use by %DEFIN.

		The old version of LISP.LSP was saved as:
	LSPLSP.OLD[LSP,LSP].

4Feb78	WD
	Recompiled compiler interpretively.  ISSUBR must be
defined as NIL and UPPERFLG set to NIL for correct
results.

5Feb78	WD
	Modified COMPLR and FORMAT to accomodate change to DE,
DF, and DM.  MAKDEF was renamed MAKDEFIN and a new MAKDEF was added.
These functions are entirely paralled to %DEF and %DEFIN in LISP.LSP.
	Introduced ILISPFLAG into COMPLR and revised OUTCALL and
OUTJCALL accordingly.
	Added elapsed time printout to FORMAT.

7Feb78	WD
	Modified COMPLR and FORMAT to report elapsed time
down to tenths of seconds, by changing the functions TELLTALE and
FORMFILE respectively.

8Feb78	WD
	RAK asked for an increase in the number of IO buffers in
LISP to speed up IO.  This proved difficult
The result is LISP.DMP[LSP,LSP].as the LISP on [1,3], but has not 
been put on SYS: because there are a variety of bugs to iron out.  
	SYS:LISP draws the varous auxiliary files LISP.LOD etc.
from [LSP,DCS] and the files LISP.LSP and LISP.INI(if any)
from SYS:.  LISP.MAC sought these files on [LSP,SYS], and
SYS: respectively.  None of these files would lode properly
until an extral word was added to make the new LISP the
same length as the old.  My attempts to build a new system
from scratch (ie. not using the old LISP.LOD etc.) have so far
failed.  The changes to LISP.MAC[LSP,LSP] are shown
below:

  1) LISP.MAC[LSP,LSP] and 2) NLISP.MAC[LSP,LSP]	2-08-78 22:15	pages 2,2

**** File 1) LISP.MAC[LSP,LSP], Page 2 line 80
1)	NIOB==2	;no of I/O buffers per device
**** File 2) NLISP.MAC[LSP,LSP], Page 2 line 80
2)	NIOB==23	;no of I/O buffers per device

**** File 1) LISP.MAC[LSP,LSP], Page 4 line 4
1)	DEFINE LSPPPN <SIXBIT /LSPSYS/> ; more specifically, here (SEE END FOR DEF)
**** File 2) NLISP.MAC[LSP,LSP], Page 4 line 4
2)	DEFINE LSPPPN <SIXBIT /LSPDCS/> ; more specifically, here (SEE END FOR DEF)

**** File 1) LISP.MAC[LSP,LSP], Page 5 line 6
1)	;****	JRST LISP1X	;entry point to get into read-eval-print loop
**** File 2) NLISP.MAC[LSP,LSP], Page 5 line 6
2)		JRST .+1	;put in to match a patch in LISP[1,3] - WD
2)	;****	JRST LISP1X	;entry point to get into read-eval-print loop

15Feb78	WD
	Slight modification to FORMAT to print out processing time
in decimal and put carriage returns between time statements for
different files.

17Feb78	WD
	Added FINIT and FSTART to FORMAT.  These exactly parallel
CINIT and CSTART in COMPLR.  FORMAT now looks for the
file FORMAT.INI on both SYS: and DSK: and reads it if found.

18Feb78	WD
	Condensed the two versions of INDEX into one program with
a variable USEKEY to decide which is used.  If USEKEY is true
each entry in the list of function names has a key attached for 
sorting, otherwise sorting is done directly on the PNAME.

19Feb78	WD
	In correcting the handling of DE, DF, and DM in INDEX, I
decided to pull in my horns a bit and omit the possibility of a
final argument overriding the default type.  This change was 
therefore made in LISP.LSP and COMPLR as well.  Source comparison
for the case of LISP.LSP is shown below.

  1) LSPLSP.OLD[LSP,LSP] and 2) LISP.LSP[LSP,LSP]	2-19-78 01:52	pages 1,1

**** File 1) LSPLSP.OLD[LSP,LSP], Page 1 line 12
1)	  (COND	((ATOM (CAR ARGS)) (%DEFIN (CAR ARGS)
1)					   (CADR ARGS)
1)					   (CADDR ARGS)
1)					   (COND ((NULL (CDDDR ARGS)) TYPE)
1)						 (T (CADDDR ARGS)))))
1)		(T (%DEFIN (CAAR ARGS)
1)			   (CDAR ARGS)
1)			   (CADR ARGS)
1)			   (COND ((NULL (CDDR ARGS)) TYPE)
1)				 (T (CADDR ARGS)))))))
1)	 EXPR)
**** File 2) LISP.LSP[LSP,LSP], Page 1 line 12
2)	  (COND	((ATOM (CAR ARGS))
2)		 (%DEFIN (CAR ARGS) (CADR ARGS) (CADDR ARGS) TYPE))
2)		(T (%DEFIN (CAAR ARGS) (CDAR ARGS) (CADR ARGS) TYPE))))
2)	 EXPR)
***************

1Mar78	WD
	The ILISPFLAG in COMPLR affects the functions OUTCALL and 
OUTJCALL.  If it is NIL my old code is selected.  If it is true
Weyrauch's code for ILISP function calls is generated.  The 
Weyrauch routines are  dependent on UPPERFLG, which indicates the
presence of an upper segment.

1Mar78	RWW
	Changed XCT in OUTCALL and OUTJCALL to XCT@S.